In the field of computers, it is desirable to provide a communication control unit (herein referred to interchangeably as CCU in the specification and CCE in the drawings) for an on-line real-time computer system, and in particular, a control unit which has a plurality of processors that each executes basic processes of communication control functions to provide high speed operation, with simple structure, and the easy modification of an existing unit. To this end, it is desirable to provide a communication control unit that is installed between a host computer, which provides the data process and a plurality of terminals, another host computer, or communication lines which are connected to terminal equipment or another host computer. Some of the items which are handled by a communication control unit are to receive and transmit ACK/NAK code, to check the operation of terminals or a time-over condition or the change of status of the lines, to control a status of each lines, and to control the transfer of data between a host computer and lines. The function of a communication control unit is defined by a communication control procedure, like BASIC MODE CONTROL PROCEDURE issued as ISO 1745, ISO 2111, ISO 2628, ISO 2629 by ISO (the International Organization for Standardization), or HIGH LEVEL DATA LINK CONTROL PROCEDURE issued as ISO 3309, ISO 4335, DIS 6159, DIS 6256 by ISO.
FIG. 1A shows an example of a general diagram of a on-line real-time computer system, in which a plurality of terminal sets, or other host computers are connected to a host computer through a line interface, a communication control unit (CCU), and a host interface. Also, a buffer memory is installed to store temporarily the data transferred between the host computer and terminals or other host computers. A line interface functions to convert serial data to parallel data or vice versa, to assemble or disassemble between characters and data block, to check the format of a block, to report the abnormality of a line to the CCU, to report the reception of a block to the CCU, to transmit an end code to CCE when a control code from that unit has been received and the operation for the control code has been finished. A communication control unit (CCU) functions to process the communication control procedure as mentioned before. The actual data processed by said line interface or a communication control unit is stored in a buffer memory. Thus, a host computer is connected to a plurality of terminals or communication lines through a line interface, a communication control unit, a host interface, and a buffer memory, and a host computer can get rid of the job which relates to handling terminals or lines.
Alternatively, some of the functions of a line interface is shared by a first communication control unit (CCE.sub.1) as shown in FIG. 1B. In that case, a line interface functions merely to convert serial data to parallel data or vice versa, to monitor the change of the status of the lines, to control the lines, and the first communication control unit functions to assemble or disassemble between characters and a block, and to return an end code to a second communication control equipment (CCU.sub.2), which functions according to the communication control procedure as mentioned before.
A conventional communication control unit utilizes a program controlled system, which performs machine instructions one after another in time sequence or a wired logic system. The IBM model 3704, 3705-I and 3705-II communication controllers are examples of the former, and the IBM models 2703 and 2704 communication controllers are examples of the latter.
The program controlled communication control unit is further sorted to a machine instruction model and a micro program model which does not have a machine instruction. A machine instruction model has the advantage that the structure is simple and the amount of hardware is small, but has the disadvantages that it takes a long time to process a job because of a time sequence operation, large amount of memories are necessary for storing the program for operating the machine instructions, and that it takes a long time to debug and test a program. Further, that machine instruction model has the disadvantage that the number of communication lines or terminals handled by a CCU is restricted because of the decrease of a throughput due to the increase of the dynamic steps in program execution. A micro-program model has the similar disadvantages to those of machine instruction model. Also, the productivity of a micro-program model is wrong. Further, a wired logic model has the disadvantages that a large amount of hardware is necessary, and the modification and/or the change of the unit is almost impossible; thus, the unit can not follow the change of the communication control procedure, although that wired logic model has the advantage that the processing ability is large.
Accordingly, when the data transmission speed is slow, for example less than 48 Kbit/sec", a prior communication control unit can handle that terminal or line. However, when the data transmission speed is high, for example higher than 1 Mbit/sec" utilizing high speed satellite traffic channels, such prior art is almost useless.